In many virtualization environments, the re-balancing of memory resources can be necessary to ensure that memory resources are efficiently and appropriately utilized. Further, re-balancing memory resources within a virtualization environment and amongst multiple virtual machines can ensure that each virtual machine in the virtualization environment has a minimum memory footprint. Many systems accomplish the re-balancing or redistribution of memory resources by compressing portions of memory or otherwise reducing the amount of memory within a particular virtual machine. In many instances adjusting the memory footprint, or the amount of memory assigned to a particular virtual machine, requires rebooting that virtual machine.
Re-balancing memory in a virtualization environment is one way that a control virtual machine conserves memory resources. Memory reallocation or re-balancing can require re-balancing the memory partitions of a physical disk which, as previously mentioned can require rebooting a virtual machine. The process of having to reboot a virtual machine each time a control virtual machine needs to re-balance memory resources can be inefficient and may limit when and how often a control virtual machine can re-balance the memory resources available in a virtualization environment. Thus, there exists a need for methods and systems for managing the amount of memory allocated to each virtual machine that does not require rebooting each virtual machine.